/*
 * SEGUNDA ENTREGA DEL PROYECTO DE BASES DE DATOS "BIBLIOTECA DIGITAL"
 * 
 * Integrantes:
 * Gamboa Edwin Ricardo Cód: 0926631 plan: 2711
 * Portilla Cortes Maria Cristina Cód: 0844113 plan: 3743 
 * Rosero Rosero Luis Alberto Cód: 0943740 plan:3743
 * 
 */
package controlador;
import accesoDatos.*;
import java.util.*;
import logica.*;
/**
 *
 * @author Gamboa Family
 */
    
import logica.*;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;


public class ControladorUsuario {

    public ControladorUsuario(){} 

    public void activarUsuario(String cod_usuario){
       DaoUsuario daoUsuario = new DaoUsuario();
       daoUsuario.activarUsuario(cod_usuario);
    }
    
    public void registrarUsario(String codigo, String nombres,String apellidos,
        String genero,String fechaNacimiento,String correoElectronico,String nivelEscolar,String vinculo_UV,String preguntaSecreta,String respuestaSecreta,String login,String contrasena,String tipo_usuario,String estado){
        Usuario usuario= new Usuario();
        DaoUsuario daoUsuario=new DaoUsuario();

        usuario.setNombre(nombres);
        usuario.setApellido(apellidos);
        usuario.setgenero(genero);
        usuario.setFechaDeNacimiento(fechaNacimiento);
        usuario.setCorreoElectronico(correoElectronico);
        usuario.setNivelEscolaridad(nivelEscolar);
        usuario.setVinculo_UV(vinculo_UV);
        usuario.setPreguntaSecreta(preguntaSecreta);
        usuario.setRespuestaSecreta(respuestaSecreta);
        usuario.setLogin(login);
        usuario.setContrasena(contrasena);
        usuario.setTipoUsuario(tipo_usuario);
        usuario.setEstadoUsuario(estado);

        daoUsuario.registrarUsuario(usuario);
        
        usuario=null;
        daoUsuario=null;
    }

    public void consultarUsuarioPorCodigo(String cod_usuario){
        Vector v= new Vector();
        String mensaje="";
        DaoUsuario daoUsuario = new DaoUsuario();
        v=daoUsuario.consultarUsuarioPorCodigo(cod_usuario);

        JTextArea areaSalida=new JTextArea();
        if(v.size()!=0){
            for(int i=0;i<v.size();i++)
            mensaje=mensaje+v.get(i)+"\n";
        areaSalida.setText(mensaje);
        JOptionPane.showMessageDialog(null,areaSalida,"Resultado de consulta",JOptionPane.INFORMATION_MESSAGE);
        daoUsuario=null;

        }
        else{
               JOptionPane.showMessageDialog(null,"Usuario no registrado en la base de datos","Usuario no registrado",JOptionPane.INFORMATION_MESSAGE);
        }
    } 
       
    public Usuario retornarUsuarioPorCodigo(String codigo){
         Usuario u= new Usuario();
        DaoUsuario daoUsuario = new DaoUsuario();
        return u=daoUsuario.retornarUsuarioPorCodigo(codigo);
    }

    public void consultarUsuarioPorApellidos(String apellidos){
        Vector v= new Vector();
        String mensaje="";
        DaoUsuario daoUsuario = new DaoUsuario();
        v=daoUsuario.consultarUsuarioPorApellidos(apellidos);

        JTextArea areaSalida=new JTextArea();
        for(int i=0;i<v.size();i++)
            mensaje=mensaje+v.get(i)+"\n";
        areaSalida.setText(mensaje);
        JOptionPane.showMessageDialog(null,areaSalida,"Resultado de consulta",JOptionPane.INFORMATION_MESSAGE);
        daoUsuario=null;

    }
    
    public void modificarUsuario(int caso, String cod_usuario,String valor){
        DaoUsuario daoUsuario = new DaoUsuario();
        daoUsuario.modificarUsuario(caso, cod_usuario, valor);
        
    }

    public void desactivarUsuario(String cod_usuario){
        DaoUsuario daoUsuario = new DaoUsuario();
       daoUsuario.desactivarUsuario(cod_usuario);
    }
    
    public boolean esActivado(String codigo){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.esActivado(codigo);
    }
    
    public boolean existeCodigo(String codigo){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.existeCodigo(codigo);        
    }
    
    public boolean existeLogin (String login){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.existeLogin(login);        
    }
    
    public String getCodigo(String login){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.getCodigo(login);
    }
    
    public int usuarioIdentificado(String login, String contrasena){
    	DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.usuarioIdentificado(login, contrasena); 
    }
    
     public String tipoUsuario (String login){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.tipoUsuario(login); 
     }
     
     public void agregarArea(String codUsr, String codArea){
        DaoUsuario daoUsuario = new DaoUsuario();        
        daoUsuario.guardarAreaAgregada(codArea, codUsr);
        System.out.println("Se va a agregar un area de conocimiento a un usuario");
     }
     
     
     public void quitarArea(String cod_usr, String cod_area){
         DaoUsuario daoUsuario = new DaoUsuario();   
         daoUsuario.quitarArea(cod_usr, cod_area);
         System.out.println("Se va a quitar una area de conocimiento a un usuario");
     }  
     
     public Vector listarMisAreas(String codUsuario){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.retornarAreasInteres(codUsuario);
     }
     
     public String cargarNotificaciones(String codUsuario){
        DaoUsuario daoUsuario = new DaoUsuario();
        return daoUsuario.cargarNotificaciones(codUsuario);
     }
}
